<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>T-function</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/T-function"> <link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-T-function rootpage-T-function skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">T-function</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>In <a href="Cryptography" title="Cryptography">cryptography</a>, a <b>T-function</b> is a <a href="Bijection" title="Bijection">bijective</a> mapping that updates every bit of the <a href="State_(computer_science)" title="State (computer science)">state</a> in a way that can be described as <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x_{i}'=x_{i}+f(x_{0},\cdots ,x_{i-1})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
<mo>′</mo>
</msubsup>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<mi>f</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>,</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x_{i}'=x_{i}+f(x_{0},\cdots ,x_{i-1})}</annotation>
</semantics>
</math></span><img src="./951395b1d4cae252e783f534d96a3957c2fce20c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:25.077ex; height:3.009ex;" alt="{\displaystyle x_{i}'=x_{i}+f(x_{0},\cdots ,x_{i-1})}" loading="lazy"></span>, or in simple words an update function in which each bit of the state is updated by a linear combination of the same bit and a function of a subset of its less significant bits. If every single less significant bit is included in the update of every bit in the state, such a T-function is called <b>triangular</b>. Thanks to their bijectivity (no collisions, therefore no entropy loss) regardless of the used <a href="Boolean_function" title="Boolean function">Boolean functions</a> and regardless of the selection of inputs (as long as they all come from one side of the output bit), T-functions are now widely used in cryptography to construct <a href="Block_cipher" title="Block cipher">block ciphers</a>, <a href="Stream_cipher" title="Stream cipher">stream ciphers</a>, <a href="Pseudorandom_number_generator" title="Pseudorandom number generator">PRNGs</a> and <a href="Cryptographic_hash_function" title="Cryptographic hash function">hash functions</a>. T-functions were first proposed in 2002 by A. Klimov and <a href="Adi_Shamir" title="Adi Shamir">A. Shamir</a> in their paper "A New Class of Invertible Mappings". Ciphers such as TSC-1, <a href="TSC-3" title="TSC-3">TSC-3</a>, TSC-4, <a href="ABC_(stream_cipher)" title="ABC (stream cipher)">ABC</a>, <a href="Mir-1" title="Mir-1">Mir-1</a> and <a href="VEST" title="VEST">VEST</a> are built with different types of T-functions.
</p><p>Because <a href="Arithmetic_operation" class="mw-redirect" title="Arithmetic operation">arithmetic operations</a> such as <a href="Addition" title="Addition">addition</a>, <a href="Subtraction" title="Subtraction">subtraction</a> and <a href="Multiplication" title="Multiplication">multiplication</a> are also T-functions (triangular T-functions), software-efficient word-based T-functions can be constructed by combining <a href="Bitwise_logic" class="mw-redirect" title="Bitwise logic">bitwise logic</a> with arithmetic operations. Another important property of T-functions based on arithmetic operations is predictability of their <a href="Period_(mathematics)" class="mw-redirect" title="Period (mathematics)">period</a>, which is highly attractive to cryptographers. Although triangular T-functions are naturally vulnerable to guess-and-determine attacks, well chosen bitwise <a href="Transposition_(mathematics)" class="mw-redirect" title="Transposition (mathematics)">transpositions</a> between rounds can neutralize that imbalance. In software-efficient <a href="Cipher" title="Cipher">ciphers</a>, it can be done by interleaving arithmetic operations with byte-swapping operations and to a small degree with <a href="Bitwise_rotation" class="mw-redirect" title="Bitwise rotation">bitwise rotation</a> operations. However, triangular T-functions remain highly inefficient in hardware.
</p><p>T-functions do not have any restrictions on the types and the widths of the update functions used for each bit. Subsequent transposition of the output bits and <a href="Iteration" title="Iteration">iteration</a> of the T-function also do not affect bijectivity. This freedom allows the designer to choose the update functions or <a href="S-box" title="S-box">S-boxes</a> that satisfy all other cryptographic criteria and even choose arbitrary or key-dependent update functions (see family keying).
</p><p>Hardware-efficient lightweight T-functions with identical widths of all the update functions for each bit of the state can thus be easily constructed. The core accumulators of VEST ciphers are a good example of such reasonably light-weight T-functions that are balanced out after 2 rounds by the transposition layer making all the 2-round feedback functions of roughly the same width and losing the "T-function" bias of depending only on the less significant bits of the state.
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<ul><li><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFKlimovShamir2002" class="citation book cs1">Klimov, Alexander; Shamir, Adi (2002). <a rel="nofollow" class="external text" href="https://link.springer.com/content/pdf/10.1007/3-540-36400-5_34.pdf">"A New Class of Invertible Mappings"</a> <span class="cs1-format">(PDF)</span>. <i>Cryptographic Hardware and Embedded Systems - CHES 2002</i>. Lecture Notes in Computer Science. Vol. 2523. <a href="Springer-Verlag" class="mw-redirect" title="Springer-Verlag">Springer-Verlag</a>. pp. <span class="nowrap">470–</span>483. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F3-540-36400-5_34">10.1007/3-540-36400-5_34</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-540-00409-7</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:29129205">29129205</a>.</cite></li>
<li><cite id="CITEREFKlimovShamir2003" class="citation book cs1">Klimov, Alexander; Shamir, Adi (2003). "Cryptographic Applications of T-Functions". <i>Selected Areas in Cryptography</i>. Lecture Notes in Computer Science. Vol. 3006. Springer-Verlag. pp. <span class="nowrap">248–</span>261. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-540-24654-1_18">10.1007/978-3-540-24654-1_18</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-540-21370-3</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:30281166">30281166</a>.</cite></li>
<li><cite id="CITEREFKlimovShamir2004" class="citation book cs1">Klimov, Alexander; Shamir, Adi (2004). "New Cryptographic Primitives Based on Multiword T-Functions". <i>Fast Software Encryption</i>. Lecture Notes in Computer Science. Vol. 3017. Springer-Verlag. pp. <span class="nowrap">1–</span>15. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-540-25937-4_1">10.1007/978-3-540-25937-4_1</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-540-22171-5</bdi>.</cite></li>
<li><cite id="CITEREFDaum2005" class="citation book cs1">Daum, Magnus (2005). "Narrow T-Functions". <i>Fast Software Encryption</i>. Lecture Notes in Computer Science. Vol. 3557. Springer-Verlag. pp. <span class="nowrap">50–</span>67. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F11502760_4">10.1007/11502760_4</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-540-26541-2</bdi>.</cite></li>
<li><cite id="CITEREFHongLeeYeomHan2005" class="citation book cs1">Hong, Jin; Lee, Dong Hoon; Yeom, Yongjin; Han, Daewan (2005). "A New Class of Single Cycle T-Functions". <i>Fast Software Encryption</i>. Lecture Notes in Computer Science. Vol. 3557. Springer-Verlag. pp. <span class="nowrap">68–</span>82. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F11502760_5">10.1007/11502760_5</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-540-26541-2</bdi>.</cite></li>
<li><cite id="CITEREFKlimovShamir2005" class="citation book cs1">Klimov, Alexander; Shamir, Adi (2005). "New Applications of T-Functions in Block Ciphers and Hash Functions". <i>Fast Software Encryption</i>. Lecture Notes in Computer Science. Vol. 3557. Springer-Verlag. pp. <span class="nowrap">18–</span>31. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F11502760_2">10.1007/11502760_2</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-540-26541-2</bdi>.</cite></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-label="Navbox0" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Block_ciphers_(security_summary)197" style="font-size:114%;margin:0 4em"><a href="Block_cipher" title="Block cipher">Block ciphers</a> (<a href="Cipher_security_summary" title="Cipher security summary">security summary</a>)</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Common<br>algorithms</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Advanced_Encryption_Standard" title="Advanced Encryption Standard">AES</a></li>
<li><a href="Blowfish_(cipher)" title="Blowfish (cipher)">Blowfish</a></li>
<li><a href="Data_Encryption_Standard" title="Data Encryption Standard">DES</a> (<a href="DES_supplementary_material" title="DES supplementary material">internal mechanics</a>, <a href="Triple_DES" title="Triple DES">Triple DES</a>)</li>
<li><a href="Serpent_(cipher)" title="Serpent (cipher)">Serpent</a></li>
<li><a href="SM4_(cipher)" title="SM4 (cipher)">SM4</a></li>
<li><a href="Twofish" title="Twofish">Twofish</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Less common<br>algorithms</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ARIA_(cipher)" title="ARIA (cipher)">ARIA</a></li>
<li><a href="Camellia_(cipher)" title="Camellia (cipher)">Camellia</a></li>
<li><a href="CAST-128" title="CAST-128">CAST-128</a></li>
<li><a href="GOST_(block_cipher)" title="GOST (block cipher)">GOST</a></li>
<li><a href="International_Data_Encryption_Algorithm" title="International Data Encryption Algorithm">IDEA</a></li>
<li><a href="LEA_(cipher)" title="LEA (cipher)">LEA</a></li>
<li><a href="RC5" title="RC5">RC5</a></li>
<li><a href="RC6" title="RC6">RC6</a></li>
<li><a href="SEED" title="SEED">SEED</a></li>
<li><a href="Skipjack_(cipher)" title="Skipjack (cipher)">Skipjack</a></li>
<li><a href="Tiny_Encryption_Algorithm" title="Tiny Encryption Algorithm">TEA</a></li>
<li><a href="XTEA" title="XTEA">XTEA</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other<br>algorithms</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="3-Way" title="3-Way">3-Way</a></li>
<li><a href="Adiantum_(cipher)" title="Adiantum (cipher)">Adiantum</a></li>
<li><a href="Akelarre_(cipher)" title="Akelarre (cipher)">Akelarre</a></li>
<li><a href="Anubis_(cipher)" title="Anubis (cipher)">Anubis</a></li>
<li><a href="Ascon_(cipher)" title="Ascon (cipher)">Ascon</a></li>
<li><a href="BaseKing" title="BaseKing">BaseKing</a></li>
<li><a href="BassOmatic" title="BassOmatic">BassOmatic</a></li>
<li><a href="BATON" title="BATON">BATON</a></li>
<li><a href="BEAR_and_LION_ciphers" title="BEAR and LION ciphers">BEAR and LION</a></li>
<li><a href="CAST-256" title="CAST-256">CAST-256</a></li>
<li><a href="Chiasmus_(cipher)" title="Chiasmus (cipher)">Chiasmus</a></li>
<li><a href="CIKS-1" title="CIKS-1">CIKS-1</a></li>
<li><a href="CIPHERUNICORN-A" title="CIPHERUNICORN-A">CIPHERUNICORN-A</a></li>
<li><a href="CIPHERUNICORN-E" title="CIPHERUNICORN-E">CIPHERUNICORN-E</a></li>
<li><a href="CLEFIA" title="CLEFIA">CLEFIA</a></li>
<li><a href="Cellular_Message_Encryption_Algorithm" title="Cellular Message Encryption Algorithm">CMEA</a></li>
<li><a href="Cobra_ciphers" title="Cobra ciphers">Cobra</a></li>
<li><a href="COCONUT98" title="COCONUT98">COCONUT98</a></li>
<li><a href="Crab_(cipher)" title="Crab (cipher)">Crab</a></li>
<li><a href="Cryptomeria_cipher" title="Cryptomeria cipher">Cryptomeria/C2</a></li>
<li><a href="CRYPTON" title="CRYPTON">CRYPTON</a></li>
<li><a href="CS-Cipher" title="CS-Cipher">CS-Cipher</a></li>
<li><a href="DEAL" title="DEAL">DEAL</a></li>
<li><a href="DES-X" title="DES-X">DES-X</a></li>
<li><a href="DFC_(cipher)" title="DFC (cipher)">DFC</a></li>
<li><a href="E2_(cipher)" title="E2 (cipher)">E2</a></li>
<li><a href="FEAL" title="FEAL">FEAL</a></li>
<li><a href="FEA-M" title="FEA-M">FEA-M</a></li>
<li><a href="FROG" title="FROG">FROG</a></li>
<li><a href="GDES" title="GDES">G-DES</a></li>
<li><a href="Grand_Cru_(cipher)" title="Grand Cru (cipher)">Grand Cru</a></li>
<li><a href="Hasty_Pudding_cipher" title="Hasty Pudding cipher">Hasty Pudding cipher</a></li>
<li><a href="Hierocrypt" title="Hierocrypt">Hierocrypt</a></li>
<li><a href="ICE_(cipher)" title="ICE (cipher)">ICE</a></li>
<li><a href="IDEA_NXT" title="IDEA NXT">IDEA NXT</a></li>
<li><a href="Intel_Cascade_Cipher" title="Intel Cascade Cipher">Intel Cascade Cipher</a></li>
<li><a href="Iraqi_block_cipher" title="Iraqi block cipher">Iraqi</a></li>
<li><a href="Kalyna_(cipher)" title="Kalyna (cipher)">Kalyna</a></li>
<li><a href="KASUMI" title="KASUMI">KASUMI</a></li>
<li><a href="KeeLoq" title="KeeLoq">KeeLoq</a></li>
<li><a href="KHAZAD" title="KHAZAD">KHAZAD</a></li>
<li><a href="Khufu_and_Khafre" title="Khufu and Khafre">Khufu and Khafre</a></li>
<li><a href="KN-Cipher" title="KN-Cipher">KN-Cipher</a></li>
<li><a href="Kuznyechik" title="Kuznyechik">Kuznyechik</a></li>
<li><a href="Ladder-DES" title="Ladder-DES">Ladder-DES</a></li>
<li>LOKI (<a href="LOKI97" title="LOKI97">97</a>, <a href="LOKI" title="LOKI">89/91</a>)</li>
<li><a href="Lucifer_(cipher)" title="Lucifer (cipher)">Lucifer</a></li>
<li><a href="M6_(cipher)" title="M6 (cipher)">M6</a></li>
<li><a href="M8_(cipher)" title="M8 (cipher)">M8</a></li>
<li><a href="MacGuffin_(cipher)" title="MacGuffin (cipher)">MacGuffin</a></li>
<li><a href="Madryga" title="Madryga">Madryga</a></li>
<li><a href="MAGENTA" title="MAGENTA">MAGENTA</a></li>
<li><a href="MARS_(cipher)" title="MARS (cipher)">MARS</a></li>
<li><a href="Mercy_(cipher)" title="Mercy (cipher)">Mercy</a></li>
<li><a href="MESH_(cipher)" title="MESH (cipher)">MESH</a></li>
<li><a href="MISTY1" title="MISTY1">MISTY1</a></li>
<li><a href="MMB_(cipher)" title="MMB (cipher)">MMB</a></li>
<li><a href="MULTI2" title="MULTI2">MULTI2</a></li>
<li><a href="MultiSwap" title="MultiSwap">MultiSwap</a></li>
<li><a href="New_Data_Seal" title="New Data Seal">New Data Seal</a></li>
<li><a href="NewDES" title="NewDES">NewDES</a></li>
<li><a href="Nimbus_(cipher)" title="Nimbus (cipher)">Nimbus</a></li>
<li><a href="NOEKEON" title="NOEKEON">NOEKEON</a></li>
<li><a href="NUSH" title="NUSH">NUSH</a></li>
<li><a href="PRESENT" title="PRESENT">PRESENT</a></li>
<li><a href="Prince_(cipher)" title="Prince (cipher)">Prince</a></li>
<li><a href="Q_(cipher)" title="Q (cipher)">Q</a></li>
<li><a href="QARMA" title="QARMA">QARMA</a></li>
<li><a href="RC2" title="RC2">RC2</a></li>
<li><a href="REDOC" title="REDOC">REDOC</a></li>
<li><a href="Red_Pike_(cipher)" title="Red Pike (cipher)">Red Pike</a></li>
<li><a href="S-1_block_cipher" title="S-1 block cipher">S-1</a></li>
<li><a href="Secure_and_Fast_Encryption_Routine" title="Secure and Fast Encryption Routine">SAFER</a></li>
<li><a href="SAVILLE" title="SAVILLE">SAVILLE</a></li>
<li><a href="SC2000" title="SC2000">SC2000</a></li>
<li><a href="SHACAL" title="SHACAL">SHACAL</a></li>
<li><a href="SHARK" title="SHARK">SHARK</a></li>
<li><a href="Simon_(cipher)" title="Simon (cipher)">Simon</a></li>
<li><a href="Speck_(cipher)" title="Speck (cipher)">Speck</a></li>
<li><a href="Spectr-H64" title="Spectr-H64">Spectr-H64</a></li>
<li><a href="Square_(cipher)" title="Square (cipher)">Square</a></li>
<li><a href="SXAL/MBAL" title="SXAL/MBAL">SXAL/MBAL</a></li>
<li><a href="Threefish" title="Threefish">Threefish</a></li>
<li><a href="Treyfer" title="Treyfer">Treyfer</a></li>
<li><a href="UES_(cipher)" title="UES (cipher)">UES</a></li>
<li><a href="Xmx" title="Xmx">xmx</a></li>
<li><a href="XXTEA" title="XXTEA">XXTEA</a></li>
<li><a href="Zodiac_(cipher)" title="Zodiac (cipher)">Zodiac</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Design</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Feistel_cipher" title="Feistel cipher">Feistel network</a></li>
<li><a href="Key_schedule" title="Key schedule">Key schedule</a></li>
<li><a href="Lai%E2%80%93Massey_scheme" title="Lai–Massey scheme">Lai–Massey scheme</a></li>
<li><a href="Product_cipher" title="Product cipher">Product cipher</a></li>
<li><a href="S-box" title="S-box">S-box</a></li>
<li><a href="Permutation_box" title="Permutation box">P-box</a></li>
<li><a href="Substitution%E2%80%93permutation_network" title="Substitution–permutation network">SPN</a></li>
<li><a href="Confusion_and_diffusion" title="Confusion and diffusion">Confusion and diffusion</a></li>
<li><a href="Round_(cryptography)" title="Round (cryptography)">Round</a></li>
<li><a href="Avalanche_effect" title="Avalanche effect">Avalanche effect</a></li>
<li><a href="Block_size_(cryptography)" title="Block size (cryptography)">Block size</a></li>
<li><a href="Key_size" title="Key size">Key size</a></li>
<li><a href="Key_whitening" title="Key whitening">Key whitening</a> (<a href="Whitening_transformation" title="Whitening transformation">Whitening transformation</a>)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Attack<br>(<a href="Cryptanalysis" title="Cryptanalysis">cryptanalysis</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Brute-force_attack" title="Brute-force attack">Brute-force</a> (<a href="EFF_DES_cracker" title="EFF DES cracker">EFF DES cracker</a>)</li>
<li><a href="Meet-in-the-middle_attack" title="Meet-in-the-middle attack">MITM</a>
<ul><li><a href="Biclique_attack" title="Biclique attack">Biclique attack</a></li>
<li><a href="3-subset_meet-in-the-middle_attack" title="3-subset meet-in-the-middle attack">3-subset MITM attack</a></li></ul></li>
<li><a href="Linear_cryptanalysis" title="Linear cryptanalysis">Linear</a> (<a href="Piling-up_lemma" title="Piling-up lemma">Piling-up lemma</a>)</li>
<li><a href="Differential_cryptanalysis" title="Differential cryptanalysis">Differential</a>
<ul><li><a href="Impossible_differential_cryptanalysis" title="Impossible differential cryptanalysis">Impossible</a></li>
<li><a href="Truncated_differential_cryptanalysis" title="Truncated differential cryptanalysis">Truncated</a></li>
<li><a href="Higher-order_differential_cryptanalysis" title="Higher-order differential cryptanalysis">Higher-order</a></li></ul></li>
<li><a href="Differential-linear_attack" title="Differential-linear attack">Differential-linear</a></li>
<li><a href="Distinguishing_attack" title="Distinguishing attack">Distinguishing</a> (<a href="Known-key_distinguishing_attack" title="Known-key distinguishing attack">Known-key</a>)</li>
<li><a href="Integral_cryptanalysis" title="Integral cryptanalysis">Integral/Square</a></li>
<li><a href="Boomerang_attack" title="Boomerang attack">Boomerang</a></li>
<li><a href="Mod_n_cryptanalysis" title="Mod n cryptanalysis">Mod <i>n</i></a></li>
<li><a href="Related-key_attack" title="Related-key attack">Related-key</a></li>
<li><a href="Slide_attack" title="Slide attack">Slide</a></li>
<li><a href="Rotational_cryptanalysis" title="Rotational cryptanalysis">Rotational</a></li>
<li><a href="Side-channel_attack" title="Side-channel attack">Side-channel</a>
<ul><li><a href="Timing_attack" title="Timing attack">Timing</a></li>
<li><a href="Power_analysis" title="Power analysis">Power-monitoring</a></li>
<li><a href="Electromagnetic_attack" title="Electromagnetic attack">Electromagnetic</a></li>
<li><a href="Acoustic_cryptanalysis" title="Acoustic cryptanalysis">Acoustic</a></li>
<li><a href="Differential_fault_analysis" title="Differential fault analysis">Differential-fault</a></li></ul></li>
<li><a href="XSL_attack" title="XSL attack">XSL</a></li>
<li><a href="Interpolation_attack" title="Interpolation attack">Interpolation</a></li>
<li><a href="Partitioning_cryptanalysis" title="Partitioning cryptanalysis">Partitioning</a></li>
<li><a href="Rubber-hose_cryptanalysis" class="mw-redirect" title="Rubber-hose cryptanalysis">Rubber-hose</a></li>
<li><a href="Black-bag_cryptanalysis" title="Black-bag cryptanalysis">Black-bag</a></li>
<li><a href="Davies_attack" title="Davies attack">Davies</a></li>
<li><a href="Rebound_attack" title="Rebound attack">Rebound</a></li>
<li><a href="Weak_key" title="Weak key">Weak key</a></li>
<li><a href="Kendall_rank_correlation_coefficient" title="Kendall rank correlation coefficient">Tau</a></li>
<li><a href="Chi-squared_test" title="Chi-squared test">Chi-square</a></li>
<li><a href="Time/memory/data_tradeoff_attack" title="Time/memory/data tradeoff attack">Time/memory/data tradeoff</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Standardization</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Advanced_Encryption_Standard_process" title="Advanced Encryption Standard process">AES process</a></li>
<li><a href="CRYPTREC" title="CRYPTREC">CRYPTREC</a></li>
<li><a href="NESSIE" title="NESSIE">NESSIE</a></li>
<li><a href="NSA_Suite_B_Cryptography" title="NSA Suite B Cryptography">NSA Suite B</a></li>
<li><a href="Commercial_National_Security_Algorithm_Suite" title="Commercial National Security Algorithm Suite">CNSA</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Utilization</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Initialization_vector" title="Initialization vector">Initialization vector</a></li>
<li><a href="Block_cipher_mode_of_operation" title="Block cipher mode of operation">Mode of operation</a></li>
<li><a href="Padding_(cryptography)" title="Padding (cryptography)">Padding</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Cryptographic_hash_functions_and_message_authentication_codes539" style="font-size:114%;margin:0 4em"><a href="Cryptographic_hash_function" title="Cryptographic hash function">Cryptographic hash functions</a> and <a href="Message_authentication_code" title="Message authentication code">message authentication codes</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="List_of_hash_functions" title="List of hash functions">List</a></li>
<li><a href="Comparison_of_cryptographic_hash_functions" title="Comparison of cryptographic hash functions">Comparison</a></li>
<li><a href="Hash_function_security_summary" title="Hash function security summary">Known attacks</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Common functions</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="MD5" title="MD5">MD5</a> (compromised)</li>
<li><a href="SHA-1" title="SHA-1">SHA-1</a> (compromised)</li>
<li><a href="SHA-2" title="SHA-2">SHA-2</a></li>
<li><a href="SHA-3" title="SHA-3">SHA-3</a></li>
<li><a href="BLAKE_(hash_function)#BLAKE2" title="BLAKE (hash function)">BLAKE2</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="NIST_hash_function_competition" title="NIST hash function competition">SHA-3 finalists</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BLAKE_(hash_function)" title="BLAKE (hash function)">BLAKE</a></li>
<li><a href="Gr%C3%B8stl" title="Grøstl">Grøstl</a></li>
<li><a href="JH_(hash_function)" title="JH (hash function)">JH</a></li>
<li><a href="Skein_(hash_function)" title="Skein (hash function)">Skein</a></li>
<li><a href="SHA-3" title="SHA-3">Keccak</a> (winner)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other functions</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BLAKE3" class="mw-redirect" title="BLAKE3">BLAKE3</a></li>
<li><a href="CubeHash" title="CubeHash">CubeHash</a></li>
<li><a href="Elliptic_curve_only_hash" title="Elliptic curve only hash">ECOH</a></li>
<li><a href="Fast_syndrome-based_hash" title="Fast syndrome-based hash">FSB</a></li>
<li><a href="Fugue_(hash_function)" title="Fugue (hash function)">Fugue</a></li>
<li><a href="GOST_(hash_function)" title="GOST (hash function)">GOST</a></li>
<li><a href="HAS-160" title="HAS-160">HAS-160</a></li>
<li><a href="HAVAL" title="HAVAL">HAVAL</a></li>
<li><a href="Kupyna" title="Kupyna">Kupyna</a></li>
<li><a href="LSH_(hash_function)" title="LSH (hash function)">LSH</a></li>
<li><a href="Lane_(hash_function)" title="Lane (hash function)">Lane</a></li>
<li><a href="MASH-1" title="MASH-1">MASH-1</a></li>
<li><a href="MASH-1#MASH2" title="MASH-1">MASH-2</a></li>
<li><a href="MD2_(hash_function)" title="MD2 (hash function)">MD2</a></li>
<li><a href="MD4" title="MD4">MD4</a></li>
<li><a href="MD6" title="MD6">MD6</a></li>
<li><a href="MDC-2" title="MDC-2">MDC-2</a></li>
<li><a href="N-hash" title="N-hash">N-hash</a></li>
<li><a href="RIPEMD" title="RIPEMD">RIPEMD</a></li>
<li><a href="RadioGat%C3%BAn" title="RadioGatún">RadioGatún</a></li>
<li><a href="SIMD_(hash_function)" title="SIMD (hash function)">SIMD</a></li>
<li><a href="SM3_(hash_function)" title="SM3 (hash function)">SM3</a></li>
<li><a href="SWIFFT" title="SWIFFT">SWIFFT</a></li>
<li><a href="Shabal" title="Shabal">Shabal</a></li>
<li><a href="Snefru" title="Snefru">Snefru</a></li>
<li><a href="Streebog" title="Streebog">Streebog</a></li>
<li><a href="Tiger_(hash_function)" title="Tiger (hash function)">Tiger</a></li>
<li><a href="Very_smooth_hash" title="Very smooth hash">VSH</a></li>
<li><a href="Whirlpool_(hash_function)" title="Whirlpool (hash function)">Whirlpool</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Password hashing/<br><a href="Key_stretching" title="Key stretching">key stretching</a> functions</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Argon2" title="Argon2">Argon2</a></li>
<li><a href="Balloon_hashing" title="Balloon hashing">Balloon</a></li>
<li><a href="Bcrypt" title="Bcrypt">bcrypt</a></li>
<li><a href="Catena_(cryptography)" class="mw-redirect" title="Catena (cryptography)">Catena</a></li>
<li><a href="Crypt_(C)" title="Crypt (C)">crypt</a></li>
<li><a href="LAN_Manager#LM_hash_details" title="LAN Manager">LM hash</a></li>
<li><a href="Lyra2" title="Lyra2">Lyra2</a></li>
<li><a href="Makwa_(cryptography)" class="mw-redirect" title="Makwa (cryptography)">Makwa</a></li>
<li><a href="PBKDF2" title="PBKDF2">PBKDF2</a></li>
<li><a href="Scrypt" title="Scrypt">scrypt</a></li>
<li><a href="Yescrypt" title="Yescrypt">yescrypt</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">General purpose<br><a href="Key_derivation_function" title="Key derivation function">key derivation functions</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="HKDF" title="HKDF">HKDF</a></li>
<li>KDF1/KDF2</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Message_authentication_code" title="Message authentication code">MAC functions</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CBC-MAC" title="CBC-MAC">CBC-MAC</a></li>
<li><a href="Data_Authentication_Algorithm" title="Data Authentication Algorithm">DAA</a></li>
<li><a href="Galois_Message_Authentication_Code" class="mw-redirect" title="Galois Message Authentication Code">GMAC</a></li>
<li><a href="HMAC" title="HMAC">HMAC</a></li>
<li><a href="NMAC" class="mw-redirect" title="NMAC">NMAC</a></li>
<li><a href="One-key_MAC" title="One-key MAC">OMAC</a>/<a href="One-key_MAC" title="One-key MAC">CMAC</a></li>
<li><a href="PMAC_(cryptography)" title="PMAC (cryptography)">PMAC</a></li>
<li><a href="Poly1305" title="Poly1305">Poly1305</a></li>
<li><a href="SipHash" title="SipHash">SipHash</a></li>
<li><a href="UMAC_(cryptography)" title="UMAC (cryptography)">UMAC</a></li>
<li><a href="VMAC" title="VMAC">VMAC</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Authenticated_encryption" title="Authenticated encryption">Authenticated<br>encryption</a> modes</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CCM_mode" title="CCM mode">CCM</a></li>
<li><a href="ChaCha20-Poly1305" title="ChaCha20-Poly1305">ChaCha20-Poly1305</a></li>
<li><a href="CWC_mode" title="CWC mode">CWC</a></li>
<li><a href="EAX_mode" title="EAX mode">EAX</a></li>
<li><a href="Galois/Counter_Mode" title="Galois/Counter Mode">GCM</a></li>
<li><a href="IAPM_(mode)" title="IAPM (mode)">IAPM</a></li>
<li><a href="OCB_mode" title="OCB mode">OCB</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Attacks</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Collision_attack" title="Collision attack">Collision attack</a></li>
<li><a href="Preimage_attack" title="Preimage attack">Preimage attack</a></li>
<li><a href="Birthday_attack" title="Birthday attack">Birthday attack</a></li>
<li><a href="Brute-force_attack" title="Brute-force attack">Brute-force attack</a></li>
<li><a href="Rainbow_table" title="Rainbow table">Rainbow table</a></li>
<li><a href="Side-channel_attack" title="Side-channel attack">Side-channel attack</a></li>
<li><a href="Length_extension_attack" title="Length extension attack">Length extension attack</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Design</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Avalanche_effect" title="Avalanche effect">Avalanche effect</a></li>
<li><a href="Hash_collision" title="Hash collision">Hash collision</a></li>
<li><a href="Merkle%E2%80%93Damg%C3%A5rd_construction" title="Merkle–Damgård construction">Merkle–Damgård construction</a></li>
<li><a href="Sponge_function" title="Sponge function">Sponge function</a></li>
<li><a href="HAIFA_construction" title="HAIFA construction">HAIFA construction</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Standardization</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CAESAR_Competition" title="CAESAR Competition">CAESAR Competition</a></li>
<li><a href="CRYPTREC" title="CRYPTREC">CRYPTREC</a></li>
<li><a href="NESSIE" title="NESSIE">NESSIE</a></li>
<li><a href="NIST_hash_function_competition" title="NIST hash function competition">NIST hash function competition</a></li>
<li><a href="Password_Hashing_Competition" title="Password Hashing Competition">Password Hashing Competition</a></li>
<li><a href="NSA_Suite_B_Cryptography" title="NSA Suite B Cryptography">NSA Suite B</a></li>
<li><a href="Commercial_National_Security_Algorithm_Suite" title="Commercial National Security Algorithm Suite">CNSA</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Utilization</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Post-quantum_cryptography#Hash-based_cryptography" title="Post-quantum cryptography">Hash-based cryptography</a></li>
<li><a href="Merkle_tree" title="Merkle tree">Merkle tree</a></li>
<li><a href="Message_authentication" title="Message authentication">Message authentication</a></li>
<li><a href="Proof_of_work" title="Proof of work">Proof of work</a></li>
<li><a href="Salt_(cryptography)" title="Salt (cryptography)">Salt</a></li>
<li><a href="Pepper_(cryptography)" title="Pepper (cryptography)">Pepper</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Stream_ciphers94" style="font-size:114%;margin:0 4em"><a href="Stream_cipher" title="Stream cipher">Stream ciphers</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Widely used ciphers</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="A5/1" title="A5/1">A5/1</a></li>
<li><a href="A5/2" title="A5/2">A5/2</a></li>
<li><a href="Salsa20#ChaCha_variant" title="Salsa20">ChaCha</a></li>
<li><a href="Crypto-1" title="Crypto-1">Crypto-1</a></li>
<li><a href="E0_(cipher)" title="E0 (cipher)">E0</a></li>
<li><a href="RC4" title="RC4">RC4</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="ESTREAM" title="ESTREAM">eSTREAM</a> Portfolio</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Software</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="HC-256" title="HC-256">HC-128</a></li>
<li><a href="Rabbit_(cipher)" title="Rabbit (cipher)">Rabbit</a></li>
<li><a href="Salsa20" title="Salsa20">Salsa20</a></li>
<li><a href="SOSEMANUK" title="SOSEMANUK">SOSEMANUK</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Hardware</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Grain_(cipher)" title="Grain (cipher)">Grain</a></li>
<li><a href="MICKEY" title="MICKEY">MICKEY</a></li>
<li><a href="Trivium_(cipher)" title="Trivium (cipher)">Trivium</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other ciphers</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Achterbahn_(stream_cipher)" title="Achterbahn (stream cipher)">Achterbahn</a></li>
<li><a href="F-FCSR" title="F-FCSR">F-FCSR</a></li>
<li><a href="FISH_(cipher)" title="FISH (cipher)">FISH</a></li>
<li><a href="ISAAC_(cipher)" title="ISAAC (cipher)">ISAAC</a></li>
<li><a href="KCipher-2" title="KCipher-2">KCipher-2</a></li>
<li><a href="MUGI" title="MUGI">MUGI</a></li>
<li><a href="ORYX" title="ORYX">ORYX</a></li>
<li><a href="Panama_(cryptography)" title="Panama (cryptography)">Panama</a></li>
<li><a href="Phelix" title="Phelix">Phelix</a></li>
<li><a href="Pike_(cipher)" title="Pike (cipher)">Pike</a></li>
<li><a href="Py_(cipher)" title="Py (cipher)">Py</a></li>
<li><a href="QUAD_(cipher)" title="QUAD (cipher)">QUAD</a></li>
<li><a href="RC4#RC4+" title="RC4">RC4+</a></li>
<li><a href="RC4#RC4A" title="RC4">RC4A</a></li>
<li><a href="Scream_(cipher)" title="Scream (cipher)">Scream</a></li>
<li><a href="SEAL_(cipher)" title="SEAL (cipher)">SEAL</a></li>
<li><a href="SNOW" title="SNOW">SNOW</a></li>
<li><a href="SOBER" title="SOBER">SOBER</a></li>
<li><a href="SOBER-128" title="SOBER-128">SOBER-128</a></li>
<li><a href="Spritz_(cipher)" class="mw-redirect" title="Spritz (cipher)">Spritz</a></li>
<li><a href="Turing_(cipher)" title="Turing (cipher)">Turing</a></li>
<li><a href="VEST" title="VEST">VEST</a></li>
<li><a href="Variably_Modified_Permutation_Composition" title="Variably Modified Permutation Composition">VMPC</a></li>
<li><a href="WAKE_(cipher)" title="WAKE (cipher)">WAKE</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Generators</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Shrinking_generator" title="Shrinking generator">shrinking generator</a></li>
<li><a href="Self-shrinking_generator" title="Self-shrinking generator">self-shrinking generator</a></li>
<li><a href="Alternating_step_generator" title="Alternating step generator">alternating step generator</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Theory</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Block_cipher_mode_of_operation" title="Block cipher mode of operation">block ciphers in stream mode</a></li>
<li><a href="Shift_register" title="Shift register">shift register</a></li>
<li><a href="Linear-feedback_shift_register" title="Linear-feedback shift register">LFSR</a></li>
<li><a href="Nonlinear-feedback_shift_register" title="Nonlinear-feedback shift register">NLFSR</a></li>
<li><a href="Initialization_vector" title="Initialization vector">IV</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Attacks</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Correlation_attack" title="Correlation attack">correlation attack</a></li>
<li><a href="Correlation_immunity" title="Correlation immunity">correlation immunity</a></li>
<li><a href="Stream_cipher_attacks" title="Stream cipher attacks">stream cipher attacks</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Cryptography149" style="font-size:114%;margin:0 4em"><a href="Cryptography" title="Cryptography">Cryptography</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="History_of_cryptography" title="History of cryptography">History of cryptography</a></li>
<li><a href="Outline_of_cryptography" title="Outline of cryptography">Outline of cryptography</a></li>
<li><a href="Classical_cipher" title="Classical cipher">Classical cipher</a></li>
<li><a href="Cryptographic_protocol" title="Cryptographic protocol">Cryptographic protocol</a>
<ul><li><a href="Authentication_protocol" title="Authentication protocol">Authentication protocol</a></li></ul></li>
<li><a href="Cryptographic_primitive" title="Cryptographic primitive">Cryptographic primitive</a></li>
<li><a href="Cryptanalysis" title="Cryptanalysis">Cryptanalysis</a></li>
<li><a href="Cryptocurrency" title="Cryptocurrency">Cryptocurrency</a></li>
<li><a href="Cryptosystem" title="Cryptosystem">Cryptosystem</a></li>
<li><a href="Cryptographic_nonce" title="Cryptographic nonce">Cryptographic nonce</a></li>
<li><a href="Cryptovirology" title="Cryptovirology">Cryptovirology</a></li>
<li><a href="Hash_function" title="Hash function">Hash function</a>
<ul><li><a href="Cryptographic_hash_function" title="Cryptographic hash function">Cryptographic hash function</a></li>
<li><a href="Key_derivation_function" title="Key derivation function">Key derivation function</a></li>
<li><a href="Secure_Hash_Algorithms" title="Secure Hash Algorithms">Secure Hash Algorithms</a></li></ul></li>
<li><a href="Digital_signature" title="Digital signature">Digital signature</a></li>
<li><a href="Kleptography" title="Kleptography">Kleptography</a></li>
<li><a href="Key_(cryptography)" title="Key (cryptography)">Key (cryptography)</a></li>
<li><a href="Key_exchange" title="Key exchange">Key exchange</a></li>
<li><a href="Key_generator" title="Key generator">Key generator</a></li>
<li><a href="Key_schedule" title="Key schedule">Key schedule</a></li>
<li><a href="Key_stretching" title="Key stretching">Key stretching</a></li>
<li><a href="Keygen" title="Keygen">Keygen</a></li>
<li>Machines</li>
<li><a href="Cryptojacking_malware" class="mw-redirect" title="Cryptojacking malware">Cryptojacking malware</a></li>
<li><a href="Ransomware" title="Ransomware">Ransomware</a></li>
<li><a href="Random_number_generation" title="Random number generation">Random number generation</a>
<ul><li><a href="Cryptographically_secure_pseudorandom_number_generator" title="Cryptographically secure pseudorandom number generator">Cryptographically secure pseudorandom number generator</a> (CSPRNG)</li></ul></li>
<li><a href="Pseudorandom_noise" title="Pseudorandom noise">Pseudorandom noise</a> (PRN)</li>
<li><a href="Secure_channel" title="Secure channel">Secure channel</a></li>
<li><a href="Insecure_channel" class="mw-redirect" title="Insecure channel">Insecure channel</a></li>
<li><a href="Subliminal_channel" title="Subliminal channel">Subliminal channel</a></li>
<li><a href="Encryption" title="Encryption">Encryption</a></li>
<li><a href="Decryption" class="mw-redirect" title="Decryption">Decryption</a></li>
<li><a href="End-to-end_encryption" title="End-to-end encryption">End-to-end encryption</a></li>
<li><a href="Harvest_now%2C_decrypt_later" title="Harvest now, decrypt later">Harvest now, decrypt later</a></li>
<li><a href="Information-theoretic_security" title="Information-theoretic security">Information-theoretic security</a></li>
<li><a href="Plaintext" title="Plaintext">Plaintext</a></li>
<li><a href="Codetext" class="mw-redirect" title="Codetext">Codetext</a></li>
<li><a href="Ciphertext" title="Ciphertext">Ciphertext</a></li>
<li><a href="Shared_secret" title="Shared secret">Shared secret</a></li>
<li><a href="Trapdoor_function" title="Trapdoor function">Trapdoor function</a></li>
<li><a href="Trusted_timestamping" title="Trusted timestamping">Trusted timestamping</a></li>
<li><a href="Key-based_routing" title="Key-based routing">Key-based routing</a></li>
<li><a href="Onion_routing" title="Onion routing">Onion routing</a></li>
<li><a href="Garlic_routing" title="Garlic routing">Garlic routing</a></li>
<li><a href="Kademlia" title="Kademlia">Kademlia</a></li>
<li><a href="Mix_network" title="Mix network">Mix network</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Mathematics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Cryptographic_hash_function" title="Cryptographic hash function">Cryptographic hash function</a></li>
<li><a href="Block_cipher" title="Block cipher">Block cipher</a></li>
<li><a href="Stream_cipher" title="Stream cipher">Stream cipher</a></li>
<li><a href="Symmetric-key_algorithm" title="Symmetric-key algorithm">Symmetric-key algorithm</a></li>
<li><a href="Authenticated_encryption" title="Authenticated encryption">Authenticated encryption</a></li>
<li><a href="Public-key_cryptography" title="Public-key cryptography">Public-key cryptography</a></li>
<li><a href="Quantum_key_distribution" title="Quantum key distribution">Quantum key distribution</a></li>
<li><a href="Quantum_cryptography" title="Quantum cryptography">Quantum cryptography</a></li>
<li><a href="Post-quantum_cryptography" title="Post-quantum cryptography">Post-quantum cryptography</a></li>
<li><a href="Message_authentication_code" title="Message authentication code">Message authentication code</a></li>
<li><a href="Cryptographically_secure_pseudorandom_number_generator" title="Cryptographically secure pseudorandom number generator">Random numbers</a></li>
<li><a href="Steganography" title="Steganography">Steganography</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-08-21" href="https://en.wikipedia.org/wiki/?title=T-function&oldid=1241519923">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>